package com.yanfan.energy.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 批次表(Batches)实体类
 *
 * @author makejava
 * @since 2023-01-09 10:02:43
 */
public class Batches implements Serializable {
    private static final long serialVersionUID = 423786305943722630L;
    /**
     * 主键
     */
    private Long id;
    /**
     * 批次编号
     */
    private String number;
    /**
     * 批次名称
     */
    private String name;
    /**
     * 订单编号
     */
    private String orderNumber;
    /**
     * 负责人
     */
    private String principal;
    /**
     * 操作人
     *
     * @author caijinkang
     * @date 2023/1/30 14:25
     * @param null
     * @return null
     */
    private Integer operatorId;
    /**
     * 类型（1、待处理，2、生产中，3、已完成）
     */
    private Integer type;
    /**
     * 预计开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginDate;
    /**
     * 预计结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;
    /**
     * 预计用时
     */
    private String timeConsuming;
    /**
     * 实际开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date factBeginDate;
    /**
     * 实际结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date factEndDate;
    /**
     * 实际用时
     */
    private String timeFact;
    /**
     * 厂区id
     */
    private Long plantId;
    /**
     * 车间id
     */
    private Long workshopId;
    /**
     * 厂区名称
     *
     * @author caijinkang
     * @date 2023/1/11 13:51
     * @param null
     * @return null
     */
    private String plantName;
    /**
     * 车间名称
     *
     * @author caijinkang
     * @date 2023/1/11 13:51
     * @param null
     * @return null
     */
    private String workshopName;
    /**
     * 创建人
     */
    private String createdBy;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdDate;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastModifiedDate;

    private String planNumber;

    private String planName;

    /**
     * rateProgress 进度
     */

    private Double rateProgress;

    /**
     * 参与人数    partNumber
     */
    private Integer partNumber;

    private List<BatchSegmentation> batchSegmentationList;


    public Batches() {
    }

    public Batches(Long id, String number, String name, String orderNumber, String principal, Integer operatorId, Integer type, Date beginDate, Date endDate, String timeConsuming, Date factBeginDate, Date factEndDate, String timeFact, Long plantId, Long workshopId, String plantName, String workshopName, String createdBy, Date createdDate, Date lastModifiedDate, List<BatchSegmentation> batchSegmentationList) {
        this.id = id;
        this.number = number;
        this.name = name;
        this.orderNumber = orderNumber;
        this.principal = principal;
        this.operatorId = operatorId;
        this.type = type;
        this.beginDate = beginDate;
        this.endDate = endDate;
        this.timeConsuming = timeConsuming;
        this.factBeginDate = factBeginDate;
        this.factEndDate = factEndDate;
        this.timeFact = timeFact;
        this.plantId = plantId;
        this.workshopId = workshopId;
        this.plantName = plantName;
        this.workshopName = workshopName;
        this.createdBy = createdBy;
        this.createdDate = createdDate;
        this.lastModifiedDate = lastModifiedDate;
        this.batchSegmentationList = batchSegmentationList;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public String getPrincipal() {
        return principal;
    }

    public void setPrincipal(String principal) {
        this.principal = principal;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getTimeConsuming() {
        return timeConsuming;
    }

    public void setTimeConsuming(String timeConsuming) {
        this.timeConsuming = timeConsuming;
    }

    public Date getFactBeginDate() {
        return factBeginDate;
    }

    public void setFactBeginDate(Date factBeginDate) {
        this.factBeginDate = factBeginDate;
    }

    public Date getFactEndDate() {
        return factEndDate;
    }

    public void setFactEndDate(Date factEndDate) {
        this.factEndDate = factEndDate;
    }

    public String getTimeFact() {
        return timeFact;
    }

    public void setTimeFact(String timeFact) {
        this.timeFact = timeFact;
    }

    public Long getPlantId() {
        return plantId;
    }

    public void setPlantId(Long plantId) {
        this.plantId = plantId;
    }

    public Long getWorkshopId() {
        return workshopId;
    }

    public void setWorkshopId(Long workshopId) {
        this.workshopId = workshopId;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public Date getLastModifiedDate() {
        return lastModifiedDate;
    }

    public void setLastModifiedDate(Date lastModifiedDate) {
        this.lastModifiedDate = lastModifiedDate;
    }

    public String getPlantName() {
        return plantName;
    }

    public void setPlantName(String plantName) {
        this.plantName = plantName;
    }

    public String getWorkshopName() {
        return workshopName;
    }

    public void setWorkshopName(String workshopName) {
        this.workshopName = workshopName;
    }

    public Integer getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(Integer operatorId) {
        this.operatorId = operatorId;
    }

    public List<BatchSegmentation> getBatchSegmentationList() {
        return batchSegmentationList;
    }

    public void setBatchSegmentationList(List<BatchSegmentation> batchSegmentationList) {
        this.batchSegmentationList = batchSegmentationList;
    }

    public String getPlanNumber() {
        return planNumber;
    }

    public void setPlanNumber(String planNumber) {
        this.planNumber = planNumber;
    }

    public String getPlanName() {
        return planName;
    }

    public void setPlanName(String planName) {
        this.planName = planName;
    }

    public Double getRateProgress() {
        return rateProgress;
    }

    public void setRateProgress(Double rateProgress) {
        this.rateProgress = rateProgress;
    }

    public Integer getPartNumber() {
        return partNumber;
    }

    public void setPartNumber(Integer partNumber) {
        this.partNumber = partNumber;
    }

    @Override
    public String toString() {
        return "Batches{" + "id=" + id + ", number='" + number + '\'' + ", name='" + name + '\'' + ", orderNumber='" + orderNumber + '\'' + ", principal='" + principal + '\'' + ", operatorId=" + operatorId + ", type=" + type + ", beginDate=" + beginDate + ", endDate=" + endDate + ", timeConsuming='" + timeConsuming + '\'' + ", factBeginDate=" + factBeginDate + ", factEndDate=" + factEndDate + ", timeFact='" + timeFact + '\'' + ", plantId=" + plantId + ", workshopId=" + workshopId + ", plantName='" + plantName + '\'' + ", workshopName='" + workshopName + '\'' + ", createdBy='" + createdBy + '\'' + ", createdDate=" + createdDate + ", lastModifiedDate=" + lastModifiedDate + ", batchSegmentationList=" + batchSegmentationList + '}';
    }
}

